

<?php
/*
 * @author : Pham Huu Sam
 * @phone : 0922.926.269
 */
class Home extends CI_Controller{
    //put your code here
    public $type = 0;
    public $valueSearch = '';
    public function  __construct() {
        parent::__construct();
        $this->load->helper("url");
        $this->load->library("my_layout"); // Sử dụng thư viện layout
        $this->my_layout->setLayout("layout/frontend"); // load file layout chính (view/layout/frontend.php)
        $this->load->Model("Msanpham");
        $this->load->Model("Mconfig");
        $this->load->library('pagination'); 
    }

    // Controller mặc định cho trang chủ
    public function index(){
        
        $data['title'] = "Trang chủ";
        $data['description']= "";
        $configFrontEnd = $this->Mconfig->get_One();
        $config['base_url'] = base_url('home/index/'); // xác định trang phân trang 
        $config['total_rows'] = $this->Msanpham->count_all(); // xác định tổng số record 
        $config['per_page'] = $configFrontEnd->cf_PageSize; // xác định số record ở mỗi trang
        $config['uri_segment'] = 3; // xác định segment chứa page number 
        $this->pagination->initialize($config); 
        $data['data']=$this->Msanpham->list_with_page($config['per_page'],$this->uri->segment($config['uri_segment'])); 
        $this->my_layout->view("frontend/home",$data);
    }
    
    public function showcart(){
        $data['dataShop'] = $this->getProductInShoppingCart();
        $data['totalAmount'] = $this->format_price($this->cart->total());
        $data['title'] = "Giỏ Hàng";
        $data['description']= "";
        $this->my_layout->view("frontend/showcart",$data);
    }

    public function contact(){
        $data['title'] = "Liên hệ";
        $this->my_layout->view("frontend/contact",$data);
    }
    public function getProductInShoppingCart() {
        $data = $this->cart->contents();
        foreach ($data as $key => $value) {
            foreach ($data[$key] as $item) {
                $data[$key]['gia_display'] = $this->format_price($data[$key]['price']);
                $data[$key]['gia_displayTotal'] = $this->format_price($data[$key]['price']*$data[$key]['qty']);
            }
        }
        return $data;
    }

    public function format_price($price) {
        $length = strlen($price);
        $newValue = '';
        while ($length > 0) {
            $temp =  substr($price, $length - 3, 3);
            if($length < 3) {
                $temp =  substr($price, 0, $length);
            }
            //echo($length -3);
            if(strlen($newValue)>0){
                $newValue = $temp.'.'.$newValue;
            } else {
                $newValue = $temp;
            }
            $length = $length -3;
        }
        return $newValue;
    }

    public function productWithType($type){
        $data['title'] = "Trang chủ";
        $data['description']= "";
        $configFrontEnd = $this->Mconfig->get_One();
        $config['base_url'] = base_url('home/productWithType/'.$type); // xác định trang phân trang 
        $config['total_rows'] = $this->Msanpham->count_all_type($type); // xác định tổng số record 
        $config['per_page'] = $configFrontEnd->cf_PageSize; // xác định số record ở mỗi trang
        $config['uri_segment'] = 4; // xác định segment chứa page number 
        $this->pagination->initialize($config); 
        $data['data']=$this->Msanpham->list_with_page_type($type,$config['per_page'],$this->uri->segment($config['uri_segment'])); 
        $this->my_layout->view("frontend/home",$data);
    }

    public function search($valueSearch = NULL) {
        if(isset($_REQUEST['KeyName'])) {
            $valueSearch = $_REQUEST['KeyName'];
        }
        $data['title'] = "Tìm kiếm sản phẩm";
        $data['description']= "";
        $configFrontEnd = $this->Mconfig->get_One();
        $config['base_url'] = base_url('home/search/'.$valueSearch); // xác định trang phân trang 
        $config['total_rows'] = $this->Msanpham->count_all_search($valueSearch); // xác định tổng số record 
        $config['per_page'] = $configFrontEnd->cf_PageSize; // xác định số record ở mỗi trang
        $config['uri_segment'] = 4; // xác định segment chứa page number 
        $this->pagination->initialize($config); 
        $data['data']=$this->Msanpham->list_with_keySearch($valueSearch,$config['per_page'],$this->uri->segment($config['uri_segment'])); 
        $this->my_layout->view("frontend/home",$data);
        
    }
}
?>
